package ar.com.age.distribuidora.presentacion.controller;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.primefaces.context.RequestContext;

import ar.com.age.distribuidora.dominio.Administrador;
import ar.com.age.distribuidora.presentacion.util.ServiceLocator;

@ManagedBean
@SessionScoped
public class EditarAdministradorBean {

	private Administrador administradorSeleccionado;  
    
    private Administrador administradorSeleccionadoDetalles;  

    
    public EditarAdministradorBean() {
    	
    	FacesContext.getCurrentInstance();
    	
    	System.out.println("XXXXXXXXXXXXXX: " + FacesContext.getCurrentInstance().toString());
    }
    

	public Administrador getAdministradorSeleccionado() {
		return administradorSeleccionado;
	}

	public void setAdministradorSeleccionado(Administrador administradorSeleccionado) {
		this.administradorSeleccionado = administradorSeleccionado;
	}

	public Administrador getAdministradorSeleccionadoDetalles() {
		return administradorSeleccionadoDetalles;
	}

	public void setAdministradorSeleccionadoDetalles(
			Administrador administradorSeleccionadoDetalles) {
		this.administradorSeleccionadoDetalles = administradorSeleccionadoDetalles;
	}
	
	public String actualizarAdministrador() {
		
		ServiceLocator.getUsuarioService().crearOEditarAdministrador(this.administradorSeleccionado);
		this.administradorSeleccionado = null;
		
		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Gerente",  "Administrador editado con exito.");  
        
        FacesContext.getCurrentInstance().addMessage(null, message);  
		return "/mensajeExitoso";		
	}
	
	public String editarAdministrador() {
		
		if (this.administradorSeleccionado != null) {

			return "editarAdministrador";

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}
	
	public String eliminarAdministrador() {
		
		if (this.administradorSeleccionado != null) {

			ServiceLocator.getUsuarioService().eliminarAdministrador(this.administradorSeleccionado);
			return "/mensajeExitoso";

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}

}
